//import cn.cai.exceptionHandler.GuliException;
//import cn.cai.utils.MinioAdmin;
//import io.minio.MinioClient;
//import org.junit.jupiter.api.Test;
//
//import java.io.*;
//
//
///**
// * 测试minio上传下载文件
// */
//
//
//public class testMinio {
//
//    //以流的形式下载文件
//    @Test
//    void test(){
//        try {
//            //创建minio连接对象（客户端）
//            MinioClient minioClient = new MinioClient("http://192.168.0.104:9000",  //结点，这里是url连接即服务器的地址
//                                        "minioadmin",   //账号
//                                        "minioadmin");  //密码
//
//            InputStream photo = minioClient.getObject("photo", "图片1.jpeg");
//            OutputStream outputStream = new FileOutputStream(new File("./1.jpg"));
//            byte[] bytes = new byte[1024];
//            int len = -1;
//            while ((len=photo.read(bytes,0,bytes.length)) >= 0){
//                outputStream.write(bytes);
//            }
//            outputStream.close();
//            photo.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    //以匿名的方式下载文件
//    //不能普通客户不能使用，是为Amazon S3 端点连接准备的
//    @Test
//    void test2(){
//        try {
//            //获得匿名minio客户端对象
//            MinioClient minioClient = new MinioClient("http://192.168.0.104:9000");
//            InputStream photo = minioClient.getObject("photo", "2.jpg");
//            FileOutputStream outputStream = new FileOutputStream("./2.jpg");
//            int len = -1;
//            byte[] bytes = new byte[1024];
//            while ((len = photo.read(bytes,0,bytes.length)) >= 0){
//                outputStream.write(bytes,0,bytes.length);
//            }
//            outputStream.close();
//            photo.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    //minio客户端下载  通过文件名的形式上传（不常用）
//    @Test
//    void test3(){
//        try {
//            MinioClient minioClient = new MinioClient("http://192.168.0.104:9000",
//                    "minioadmin",
//                    "minioadmin");
//
//            minioClient.putObject("photo","8.jpg","./1.jpg",null);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    //minio客户端上传，以流的形式上传
//    @Test
//    void test4(){
//        try {
//            MinioClient minioClient = new MinioClient("http://192.168.0.104:9000",
//                    "minioadmin",
//                    "minioadmin");
//            File file = new File("./1.jpg");
//            FileInputStream fileInputStream = new FileInputStream(file);
//            minioClient.putObject("photo","9.jpg",fileInputStream,new PutObjectOptions(file.length(),0));
//            fileInputStream.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    //获得指定文件的url路径
//    @Test
//    void test5(){
//        try {
//            MinioClient minioClient = new MinioClient("http://192.168.0.104:9000",
//                    "minioadmin",
//                    "minioadmin");
//            //得到文件的url地址
//            String photoPath = minioClient.presignedGetObject("photo", "1.jpg");
//            System.out.println(photoPath);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        //The request signature we calculated does not match the signature you provided. Check your key and signing method.
//
//    }
//
//    @Test
//    void test6(){
//        try {
//            MinioClient minioClient = new MinioClient(MinioAdmin.ENDPOINT
//                    ,MinioAdmin.ACCESSKEY
//                    ,MinioAdmin.SECRETKEY);
//            String url = minioClient.presignedGetObject("cover", "默认封面.jpeg",60 * 60 * 24 );
//            System.out.println(url);
//        } catch (Exception e) {
//            e.printStackTrace();
//            throw new GuliException(20001,"服务器出错");
//        }
//    }
//}
